import { z as Config } from '../index-0830800c.js';
import 'discord.js';
import 'node:http';
import './logger.js';

/**
 * Returns the currently loaded configuration.
 * May return null if config has yet to load. Use {@link loadConfig} to load it first.
 */
declare function getConfig(): Config | null;
/**
 * Returns the paths to all loaded configuration files.
 */
declare function getConfigPaths(): Set<string>;
declare function loadConfig(file?: string, compile?: boolean): Promise<Config>;
/**
 * Looks for the config file in the current project.
 * Will look for the following files in order:
 * - config/robo.ts
 * - config/robo.mjs
 * - config/robo.cjs
 * - config/robo.json
 * - .config/robo.ts
 * - .config/robo.mjs
 * - .config/robo.cjs
 * - .config/robo.json
 *
 * If a mode is set, it will prioritize the mode-specific config file.
 * - config/robo.{mode}.ts
 * - config/robo.{mode}.mjs
 * - config/robo.{mode}.cjs
 * - config/robo.{mode}.json
 *
 * @param file The name of the config file to look for. Defaults to "robo".
 * @returns The path to the config file, or null if it could not be found.
 */
declare function loadConfigPath(file?: string): Promise<string>;

export { getConfig, getConfigPaths, loadConfig, loadConfigPath };
